details widget name

Sitemap

Same cat chapters
  • Technical documentation: Site
Chapter details

The sitemap defines where the links from a certain widget will lead to. This functionality is mainly used in renderers where links are formed as a part of the page HTML content. The sitemap bundles are located in the com.tetracom.atlas.site.map package and its subpackages. The sitemap bean is the Sitemap implementing the ISitemap interface. This is a bean that doesn't have its own id. It uses the ISiteProxy of the website instead.

There are two types of sitemap objects – default and advanced. The default ones define a target page for widgets only, regardless of the page they are placed into or the content types they are configured to display. The default sitemap elements are represented by the IDefaultSitemapElement bean. The Sitemap bean contains a list of all default elements.

However, for the advanced sitemap the “target page” (the page where all the links from a certain widget go) is defined not only by the widget, but by the page that contains the widget and, optionally, by the content types it is configured to display – the ITargetKey is the object that defines the advanced sitemap key. Thus, the list structure is not enough and the advanced sitemap is structured as a tree, where the nodes are either pages (ISitemapItemPage), widgets (ISitemapItemWidget) or content types (ISitemapItemContentType). The ISitemap interface extends the ITermSet interface which is the i-Publisher's system tree interface.

Not all widgets have target pages. To indicate whether a widget can have a target page, the com.tetracom.atlas.widget.api.ISitemapWidgetWithTargetPage should be implemented and the widget should be adaptable to this interface.

The sitemap management services are:

  • ISitemapService – manages the whole sitemap bean. Used within the sitemap bundles.

  • ISitemapLinkService – the main sitemap manage service used outside the sitemap bundles. With this service one can manage single sitemap entries – obtain the target page for certain widgets, delete and create a new one.

On the database level there are three sitemap tables. They are all join tables:

  • atlas.site_map_default – the table for the default sitemap;

  • atlas.site_map – here the widget entries are saved, i.e. when a target page is specified for a certain widget in the advanced sitemap;

  • atlas.site_map_ct – here the content type entries are saved, i.e. when a target page is specified for a certain content type, the widget is configured to display.